<?php

# -- DÉBUT NOTE DE LICENCE -------------------------------------
#
# Ce fichier fait partie de Clicpage.
#
# Copyright (c) 2010 Francois (www.clicpage.net)
# Distribué selon les termes de la licence GPL version 2.0.
# Consultez le fichier LICENCE ou
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
#
# -- FIN NOTE DE LICENCE ---------------------------------------

define('CP_CONTEXTE', 'admin');
require(dirname(__FILE__).'/../prepend.php');

# --- Initialiser la session ---
$core->initSession();

# --- Vérification de l'utilisateur ---
$core->initAuth();

if(!$core->auth->verifierUtilisateur() || !$core->auth->verifierPermission('administrer')) {
	http::redirect('auth.php');
}

# --- Chargement de la langue ---
$core->setLangue($core->auth->utilisateur->utilisateur_langue);
$core->chargerFichierLangue('date');
$core->chargerFichierLangue('main');

$core->auth->permissionsDefaut();


# --- Comportements ---

# Javascript et CSS
$core->ajouterComportement('adminCSS', array('cpAdmin', 'adminCSS'));
$core->ajouterComportement('adminJavascript', array('cpAdmin', 'adminJavascript'));

# Modules d'administration
$core->ajouterComportement('adminMenu', array('cpAdmin', 'adminMenu'));
$core->ajouterComportement('adminChargerService', array('cpAdmin', 'adminChargerService'));

# Accueil
$core->ajouterComportement('adminPortlets', array('cpAdmin', 'adminPortlets'));

# Maintenance
$core->ajouterComportement('adminMaintenance', array('cpAdmin', 'adminMaintenance'));


# --- Modules d'administration ---

$core->setModuleAdmin('accueil', 'cpModuleAccueil', CP_CHEMIN_ADMIN.'/modules/accueil.admin.php');
$core->setModuleAdmin('ajouterMedia', 'cpModuleAjouterMedia', CP_CHEMIN_ADMIN.'/modules/ajouterMedia.admin.php');
$core->setModuleAdmin('apparence', 'cpModuleApparence', CP_CHEMIN_ADMIN.'/modules/apparence.admin.php');
$core->setModuleAdmin('commentaires', 'cpModuleCommentaires', CP_CHEMIN_ADMIN.'/modules/commentaires.admin.php');
$core->setModuleAdmin('CSS', 'cpModuleCSS', CP_CHEMIN_ADMIN.'/modules/CSS.admin.php');
$core->setModuleAdmin('erreur', 'cpModuleErreur', CP_CHEMIN_ADMIN.'/modules/erreur.admin.php');
$core->setModuleAdmin('filtresAntispam', 'cpModuleFiltresAntispam', CP_CHEMIN_ADMIN.'/modules/filtresAntispam.admin.php');
$core->setModuleAdmin('gadgets', 'cpModuleGadgets', CP_CHEMIN_ADMIN.'/modules/gadgets.admin.php');
$core->setModuleAdmin('groupesUtilisateurs', 'cpModuleGroupesUtilisateurs', CP_CHEMIN_ADMIN.'/modules/groupesUtilisateurs.admin.php');
$core->setModuleAdmin('maintenance', 'cpModuleMaintenance', CP_CHEMIN_ADMIN.'/modules/maintenance.admin.php');
$core->setModuleAdmin('medias', 'cpModuleMedias', CP_CHEMIN_ADMIN.'/modules/medias.admin.php');
$core->setModuleAdmin('modifierDossier', 'cpModuleModifierDossier', CP_CHEMIN_ADMIN.'/modules/modifierDossier.admin.php');
$core->setModuleAdmin('modifierGroupeUtilisateurs', 'cpModuleModifierGroupeUtilisateurs', CP_CHEMIN_ADMIN.'/modules/modifierGroupeUtilisateurs.admin.php');
$core->setModuleAdmin('modifierMedia', 'cpModuleModifierMedia', CP_CHEMIN_ADMIN.'/modules/modifierMedia.admin.php');
$core->setModuleAdmin('modifierPage', 'cpModuleModifierPage', CP_CHEMIN_ADMIN.'/modules/modifierPage.admin.php');
$core->setModuleAdmin('modifierUtilisateur', 'cpModuleModifierUtilisateur', CP_CHEMIN_ADMIN.'/modules/modifierUtilisateur.admin.php');
$core->setModuleAdmin('nouveauDossier', 'cpModuleNouveauDossier', CP_CHEMIN_ADMIN.'/modules/nouveauDossier.admin.php');
$core->setModuleAdmin('nouveauDossierMedia', 'cpModuleNouveauDossierMedia', CP_CHEMIN_ADMIN.'/modules/nouveauDossierMedia.admin.php');
$core->setModuleAdmin('nouvellePage', 'cpModuleNouvellePage', CP_CHEMIN_ADMIN.'/modules/nouvellePage.admin.php');
$core->setModuleAdmin('pages', 'cpModulePages', CP_CHEMIN_ADMIN.'/modules/pages.admin.php');
$core->setModuleAdmin('reglages', 'cpModuleReglages', CP_CHEMIN_ADMIN.'/modules/reglages.admin.php');
$core->setModuleAdmin('selecteurMedia', 'cpModuleSelecteurMedia', CP_CHEMIN_ADMIN.'/modules/selecteurMedia.admin.php');
$core->setModuleAdmin('selecteurPage', 'cpModuleSelecteurPage', CP_CHEMIN_ADMIN.'/modules/selecteurPage.admin.php');
$core->setModuleAdmin('selecteurUtilisateur', 'cpModuleSelecteurUtilisateur', CP_CHEMIN_ADMIN.'/modules/selecteurUtilisateur.admin.php');
$core->setModuleAdmin('update', 'cpModuleUpdate', CP_CHEMIN_ADMIN.'/modules/update.admin.php');
$core->setModuleAdmin('updateExt', 'cpModuleUpdateExt', CP_CHEMIN_ADMIN.'/modules/updateExt.admin.php');
$core->setModuleAdmin('utilisateurs', 'cpModuleUtilisateurs', CP_CHEMIN_ADMIN.'/modules/utilisateurs.admin.php');

$core->setModuleAdmin('antispamMotsInterdits', 'cpModuleAntispamMotsInterdits', CP_RACINE.'/inc/antispam/motsInterdits/antispam.admin.php');
$core->setModuleAdmin('antispamIPInterdits', 'cpModuleAntispamIPInterdits', CP_RACINE.'/inc/antispam/IPInterdits/antispam.admin.php');
$core->setModuleAdmin('antispamIPLookup', 'cpModuleAntispamIPLookup', CP_RACINE.'/inc/antispam/IPLookup/antispam.admin.php');

$__autoload['serviceAntispamIPInterdits'] = CP_RACINE.'/inc/antispam/IPInterdits/antispam.service.php';
$__autoload['serviceAntispamMotsInterdits'] = CP_RACINE.'/inc/antispam/motsInterdits/antispam.service.php';
$__autoload['serviceModifierPageLiens'] = CP_RACINE.'/inc/generateurs/liens/modifierPageLiens.service.php';
$__autoload['serviceModifierPageRecherche'] = CP_RACINE.'/inc/generateurs/recherche/modifierPageRecherche.service.php';

# --- Services ---

# Accueil
$core->setServiceAdmin('cp-accueil-portlets', array('cpServiceAccueil', 'portlets'));
$core->setServiceAdmin('cp-accueil-updPortlets', array('cpServiceAccueil', 'updPortlets'));

# Commentaires
$core->setServiceAdmin('cp-commentaires-getCommentairesParID', array('cpServiceCommentaires', 'getCommentairesParID'));
$core->setServiceAdmin('cp-commentaires-modifierStatut', array('cpServiceCommentaires', 'modifierStatut'));
$core->setServiceAdmin('cp-commentaires-supprimer', array('cpServiceCommentaires', 'supprimer'));
$core->setServiceAdmin('cp-commentaires-editer', array('cpServiceCommentaires', 'editer'));
$core->setServiceAdmin('cp-commentaires-setStatutAntispam', array('cpServiceCommentaires', 'setStatutAntispam'));

# Gadgets
$core->setServiceAdmin('cp-gadgets-initNouveauGadget', array('cpServiceGadgets', 'initNouveauGadget'));
$core->setServiceAdmin('cp-gadgets-enregistrer', array('cpServiceGadgets', 'enregistrer'));

# Groupes d'utilisateurs
$core->setServiceAdmin('cp-groupesUtilisateurs-supprimer', array('cpServiceGroupesUtilisateurs', 'supprimer'));

# Médias
$core->setServiceAdmin('cp-medias-getMedia', array('cpServiceMedias', 'getMedia'));
$core->setServiceAdmin('cp-medias-getMedias', array('cpServiceMedias', 'getMedias'));
$core->setServiceAdmin('cp-medias-supprimer', array('cpServiceMedias', 'supprimer'));
$core->setServiceAdmin('cp-medias-deplacer', array('cpServiceMedias', 'deplacer'));
$core->setServiceAdmin('cp-medias-getComboDossiers', array('cpServiceMedias', 'getComboDossiers'));

# Pages
$core->setServiceAdmin('cp-pages-getPages', array('cpServicePages', 'getPages'));
$core->setServiceAdmin('cp-pages-getComboCategories', array('cpServicePages', 'getComboCategories'));
$core->setServiceAdmin('cp-pages-getCategorie', array('cpServicePages', 'getCategorie'));
$core->setServiceAdmin('cp-pages-supprimer', array('cpServicePages', 'supprimer'));
$core->setServiceAdmin('cp-pages-definirAccueil', array('cpServicePages', 'definirAccueil'));
$core->setServiceAdmin('cp-pages-annulerAccueil', array('cpServicePages', 'annulerAccueil'));
$core->setServiceAdmin('cp-pages-deplacer', array('cpServicePages', 'deplacer'));
$core->setServiceAdmin('cp-pages-ajouterTag', array('cpServicePages', 'ajouterTag'));
$core->setServiceAdmin('cp-pages-supprimerTag', array('cpServicePages', 'supprimerTag'));
$core->setServiceAdmin('cp-pages-getTags', array('cpServicePages', 'getTags'));

# Utilisateurs
$core->setServiceAdmin('cp-utilisateurs-getUtilisateurs', array('cpServiceUtilisateurs', 'getUtilisateurs'));
$core->setServiceAdmin('cp-utilisateurs-supprimer', array('cpServiceUtilisateurs', 'supprimer'));
$core->setServiceAdmin('cp-utilisateurs-modifierStatut', array('cpServiceUtilisateurs', 'modifierStatut'));

# Antispam
$core->setServiceAdmin('cp-antispamIPInterdits-supprimerIP', array('serviceAntispamIPInterdits', 'supprimerIP'));
$core->setServiceAdmin('cp-antispamIPInterdits-ajouterIP', array('serviceAntispamIPInterdits', 'ajouterIP'));
$core->setServiceAdmin('cp-antispamMotsInterdits-supprimerMot', array('serviceAntispamMotsInterdits', 'supprimerMot'));
$core->setServiceAdmin('cp-antispamMotsInterdits-ajouterMot', array('serviceAntispamMotsInterdits', 'ajouterMot'));

# Générateurs
$core->setServiceAdmin('cp-pageLiens-enregistrer', array('serviceModifierPageLiens', 'enregistrer'));
$core->setServiceAdmin('cp-pageLiens-publier', array('serviceModifierPageLiens', 'publier'));
$core->setServiceAdmin('cp-pageRecherche-enregistrer', array('serviceModifierPageRecherche', 'enregistrer'));
$core->setServiceAdmin('cp-pageRecherche-publier', array('serviceModifierPageRecherche', 'publier'));

# --- Paramètres par défaut ---
if(!defined('CP_ADMIN_ITEMS_PAR_PAGE')) {
	define('CP_ADMIN_ITEMS_PAR_PAGE', 50);
}
if(!defined('CP_ADMIN_ITEMS_PAR_PAGE_PAGES')) {
	define('CP_ADMIN_ITEMS_PAR_PAGE_PAGES', CP_ADMIN_ITEMS_PAR_PAGE);
}
if(!defined('CP_ADMIN_ITEMS_PAR_PAGE_MEDIAS')) {
	define('CP_ADMIN_ITEMS_PAR_PAGE_MEDIAS', CP_ADMIN_ITEMS_PAR_PAGE);
}
if(!defined('CP_ADMIN_ITEMS_PAR_PAGE_COMMENTAIRES')) {
	define('CP_ADMIN_ITEMS_PAR_PAGE_COMMENTAIRES', CP_ADMIN_ITEMS_PAR_PAGE);
}
if(!defined('CP_ADMIN_ITEMS_PAR_PAGE_UTILISATEURS')) {
	define('CP_ADMIN_ITEMS_PAR_PAGE_UTILISATEURS', CP_ADMIN_ITEMS_PAR_PAGE);
}
if(!defined('CP_ADMIN_ITEMS_PAR_PAGE_GROUPES_UTILISATEURS')) {
	define('CP_ADMIN_ITEMS_PAR_PAGE_GROUPES_UTILISATEURS', CP_ADMIN_ITEMS_PAR_PAGE);
}

# --- Plugins et thèmes ---
if($runInstall) {
	$resInstallationPlugins = $core->installerPlugins();
	$resInstallationThemes = $core->installerThemes();
}

$core->chargerPlugins('admin');

# --- Mises à jour ---
if(!defined('CP_UPDATE_VERSION')) {
	define('CP_UPDATE_VERSION', 'stable');
}

?>